package com.hzw.saas.web.storage.param;

import java.io.Serializable;
import java.util.List;
import javax.validation.constraints.NotEmpty;

import com.hzw.saas.api.storage.constants.ApiString;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author EZ09
 * @since 07/29/2021
 */
@Data
@ApiModel("RSync获取服务端对比块列表参数2")
public class ServerOriginBlocksListParam2 implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 文件块在文件中的偏移量列表, 偏移量从0开始
     */
    @ApiModelProperty(value = "文件块在文件中的偏移量列表, 偏移量从0开始", position = 2, required = true)
    @NotEmpty(message = "文件偏移量列表不可为空")
    protected List<Long> blockPosList;

    /**
     * 校验和获取模式, 1-只获取弱校验和(默认), 2-只获取强校验和, 3-同时获取强弱校验和
     */
    @ApiModelProperty(value = "校验和获取模式, " + ApiString.CHECKSUM_MODE, position = 3)
    private Integer checksumMode;

}
